package com.jusfoun.communication.dao;

import com.jusfoun.communication.model.AppInfo;
import com.jusfoun.communication.util.PageInfo;

import java.util.List;

/**
 * @author player six
 * @email jslcylcy@163.com
 * @create 2017-12-12 16:24
 **/
public interface AppInfoDao {
    /**
     * app新增
     *
     * @param appInfo
     */
    void add(AppInfo appInfo);

    /**
     * 获取指定app在App列表中的排名
     *
     * @param appId
     * @return
     */
    Long appRank(String appId);

    /**
     * 更新appInfo
     *
     * @param appInfo
     */
    void update(AppInfo appInfo);

    /**
     * 获取所有的appCount
     *
     * @return
     */
    long listIdCount();

    /**
     * 获取所有的idList
     *
     * @param appInfoPageInfo
     * @return
     */
    List<String> listId(PageInfo<AppInfo> appInfoPageInfo);

    /**
     * 获取所有的appInfo 列表
     *
     * @return
     */
    List<AppInfo> listAll();

    /**
     * 根据id返回appInfo
     *
     * @param appId
     * @return
     */
    AppInfo getById(String appId);

    /**
     * 校验当前appInfo的appId与secret是否匹配
     *
     * @return
     */
    boolean checkAppIdAndSecret(String appId, String appSecret);
}
